User interface

ABSTRACT

A computer-implemented method comprising: storing in a memory information of one or more game objects; causing to be displayed on a user interface of a touchscreen display a game board comprising one or more of said game objects; in response to determining contact or proximity of a selector at a first location of said display, determining by the processor one or more of said game objects stored in said memory that are displayed on and/or proximate to said location; and causing one or more of said game objects that are displayed on and/or proximate to said first location to be displayed on said display in a magnified region at a second location, wherein said second location is spaced from said first location.

FIELD OF THE INVENTION

Embodiments of this application relate to a user interface. Theapplication is providing but not exclusively directed to controlling theuser interface in an online environment by means of a touchscreen.

Some embodiments may relate to engaging users or players in a computergame executable in an online environment.

BACKGROUND OF THE INVENTION

There exist many types of computer device where the display iscontrolled by an input. In some embodiments the input may be a cursor orpointer that is controlled by a human interface device such as a mouse,joystick, keyboard etc. Additionally or alternatively the display maycomprise a touchscreen which can be controlled by a user's touch. Thatis, activation of functions and objects is responsive to user input madeby way of the user actually touching a particular object displayed onthe screen, and thereby selecting that object. Most commonly, that touchis by a user's finger.

One particular context is that of a computer game where a game board isdisplayed to a user which has adjacent selectable objects, for examplein the form of letter tiles. In one game, the mechanic of the game isthat a user should select a set of tiles in succession and thereby formwords. The successful delivery of this game depends on the gameapplication being able to generate letter tiles in a way that enables auser to form those words.

One such game is a game called Alphabetty available via the Royal gamewebsite (www.royalgames.com). In this game, a user must select adjacentletters to form a word. When a word has been formed, the letters areautomatically removed from the screen and letter tiles above the removedletters drop down. New letter tiles are provided to the screen fromabove to replenish the gaps now left by the tiles which have droppeddown.

This patent specification describes not only various ideas andfunctions, but also their creative expression. A portion of thedisclosure of this patent document therefore contains material to whicha claim for copyright is made and notice is hereby given: CopyrightKing.com Limited 2014 (pursuant to 17 U.S.C. 401). A claim to copyrightprotection is made to all screen shots, icons, look and feel and allother protectable expression associated with the games illustrated anddescribed in this patent specification.

The copyright owner has no objection to the facsimile reproduction byanyone of the patent document or the patent disclosure, as it appears inthe Patent and Trademark Office patent file or records, but reserves allother copyright rights whatsoever. No express or implied license underany copyright whatsoever is therefore granted.

SUMMARY OF THE INVENTION

In a first aspect there is provided a computer-implemented methodcomprising: storing in a memory information of one or more game objects;causing to be displayed on a user interface of a touchscreen display agame board comprising one or more of said game objects; in response todetermining contact or proximity of a selector at a first location ofsaid display, determining by the processor one or more of said gameobjects stored in said memory that are displayed on and/or proximate tosaid first location; and causing one or more of said game objects thatare displayed on and/or proximate to said first location to be displayedon said display in a magnified region at a second location, wherein saidsecond location is spaced from said first location.

According to some embodiments, said magnified region overlies or atleast partially overlies said game board.

According to some embodiments, the method comprises texturing said userinterface as a series of layers, the game board comprised in a firstlayer and the magnified region comprised in a second layer.

According to some embodiments, the magnified region is circular or anoval.

According to some embodiments, said first location of said game board isrepresented at a central position of said magnified region.

According to some embodiments, said method comprises determining aregion of said display at least partially visually obscured by saidselector, and displaying said game objects displayed in the magnifiedregion outside of said at least partially obscured region.

According to some embodiments, the method comprises determining saidsecond location in dependence on said first location.

According to some embodiments, the game board is determined to comprisea plurality of sections.

According to some embodiments, the second location is caused to be in asection different from a section comprising the first location.

According to some embodiments, the second location is determined to bein a section that is furthest from a section comprising the firstlocation.

According to some embodiments, displaying said magnified region at saidsecond location comprises initiation of said magnified region.

According to some embodiments, the magnified region is moved to thesecond location from an initial location.

According to some embodiments, the method comprises updating a positionof said magnified region on said display in response to movement of saidselector over said game board.

According to some embodiments, said updating a position of saidmagnified region comprises an interpolation technique.

According to some embodiments, the magnified region is caused to move ata variable speed.

According to some embodiments, the method comprises updating a contentof said game objects displayed in said magnified region in response tomovement of said selector over said game board.

According to some embodiments, said updating a content comprises aninterpolation technique.

According to some embodiments, said selector comprises a user's fingeror thumb or a stylus.

According to some embodiments, said one or more game objects compriseone or more tiles.

According to some embodiments said one or more tiles comprises one ormore letter tiles.

In a second aspect there is provided a computer program comprisingcomputer executable instructions which when run on one or moreprocessors perform the method of the first aspect.

In a third aspect there is provided a device comprising: a memory forstoring information of one or more game objects; a touchscreen displayfor displaying on a user interface a game board comprising one or moreof said game objects; a processor; the device configured to, in responseto determining contact or proximity of a selector at a first location ofsaid display, determine by the processor one or more of said gameobjects stored in said memory that are displayed on and/or proximate tosaid first location; and cause one or more of said game objects that aredisplayed on and/or proximate to said first location to be displayed onsaid display in a magnified region at a second location, wherein saidsecond location is spaced from said first location.

According to some embodiments, said device is configured to cause saidmagnified region to overlie or at least partially overlie said gameboard.

According to some embodiments, the device is configured to texture saiduser interface as a series of layers, the game board comprised in afirst layer and the magnified region comprised in a second layer.

According to some embodiments, the device is configured to display saidmagnified region as a circle or an oval.

According to some embodiments, said device is configured to representsaid first location of said game board at a central position of saidmagnified region.

According to some embodiments, the device is configured to determine aregion of said display at least partially visually obscured by saidselector, and to display said game objects displayed in the magnifiedregion outside of said at least partially obscured region.

According to some embodiments, the device is configured to determinesaid second location in dependence on said first location.

According to some embodiments, the device is configured to determine thegame board as comprising a plurality of sections.

According to some embodiments, the device is configured to cause thesecond location to be in a section different from a section comprisingthe first location.

According to some embodiments, the device is configured to cause thesecond location to be in a section that is furthest from a sectioncomprising the first location.

According to some embodiments, displaying said magnified region at saidsecond location comprises initiation of said magnified region.

According to some embodiments, the device is configured to move themagnified region to the second location from an initial location.

According to some embodiments, the device is configured to update aposition of said magnified region on said display in response tomovement of said selector over said game board.

According to some embodiments, said updating a position of saidmagnified region comprises an interpolation technique.

According to some embodiments, the device is configured to cause themagnified region to move at a variable speed.

According to some embodiments, the device is configured to update acontent of said game objects displayed in said magnified region inresponse to movement of said selector over said game board.

According to some embodiments, said updating a content comprises aninterpolation technique.

According to some embodiments, said selector comprises a user's fingeror thumb or a stylus.

According to some embodiments, said one or more game objects compriseone or more tiles.

According to some embodiments said one or more tiles comprises one ormore letter tiles.

BRIEF DESCRIPTION OF DRAWINGS

To understand some embodiments, reference will now be made by way ofexample only to the accompanying drawings, in which:

FIG. 1 shows an example embodiment of a game board;

FIG. 2 shows an example user device in which some embodiments may beprovided;

FIG. 3 shows an example system in which some embodiments may beprovided;

FIG. 4 shows a user device being operated by a user's finger accordingto an embodiment;

FIG. 5 shows a user interface according to an embodiment;

FIGS. 6A to 6D schematically show a user interface arrangement,according to some embodiments;

FIGS. 7A to 7B schematically show movement of a magnified region,according to some embodiments;

FIG. 8 is a flowchart of a method, according to an embodiment;

FIG. 9 shows a user interface according to another embodiment;

FIG. 10 shows an in-game pop-up screen, according to an embodiment;

FIG. 11 shows an in-game pop-up screen, according to an embodiment;

FIG. 12 shows a user-interface screen, according to an embodiment;

FIG. 13 shows a flow chart of a method, according to an embodiment;

FIG. 14 shows a user-interface screen, according to an embodiment;

FIG. 15 shows a flow chart of a method, according to an embodiment.

FIG. 16 shows schematically the functional blocks of an embodiment.

DETAILED DESCRIPTION OF SOME EMBODIMENTS

The techniques described herein may be implemented in for instance acomputer implemented tile based word game such as “Alphabetty™” of theapplicant, which involves selecting game objects in the form of lettertiles to make words to score points against either a target or anotherplayer in a tournament or other multiplayer environment.

In some embodiments, the game may be provided with different levels.Each level may have a specific goal. Each level may have a specificdifficulty associated with it. The harder a level, generally the lesslikely a level is to be completed and/or the greater the required skillof the player.

FIG. 1 shows an example game board of a letter tile based computerimplemented game according to an embodiment.

The game board 100 or playable area 100 is displayed upon which aredisposed game objects or game elements 110. The game objects 110 in thisembodiment comprise letter tiles which may have varying characteristics.The characteristics may be one or more of color, shape, and/or differentscores 110 a per object or tile 110. In this embodiment, the objects 110are square letter tiles arranged in a rectangular grid like fashion,although in other embodiments other game board configurations and othergame object shapes or tiles may be utilized.

A game object may also comprise an “entity” rather than a tile. Whereasa tile may be considered a space on a game board grid, an entity may beconsidered something that occupies that space.

In some embodiments, “blockers” may be present which may act to block auser during gameplay. The blocker may be a blank tile which cannot beused to form a word, or some form of entity. Such blockers can thereforebe used to make a level harder. A blocker may be a permanent fixture ina given level, or may be removable, for example by using adjacent tilesto form a word which tiles are then removed from the game board. Anexample of a blocker is a “rock-blocker”. The blocker may switchposition during gameplay or may be fixed in position.

Another type of special object is a “booster”. A booster may operate tohelp increase a user's score, for example by increasing the number oftiles removed from the game board. One example of a booster is a “bomb”tile or entity. The bomb entity may comprise a bomb-shaped icon. Thebomb icon may be activated by including it in a word or includingadjacent tiles in a selected word. A parameter such as a game target,when reached, may also cause a bomb entity to be activated. When a bombis activated it may “explode”, causing a plurality of adjacent tiles tobe removed from the game board, thus increasing the user's score.

There may be different types of exploding entities. For example a “lineblaster” is a type of booster whose explosion can be controlled to giveextra points whilst destroying other letters on the table. A “flaskbomb” on the other hand has a countdown timer and when it explodes ittakes away a number of remaining moves (e.g. two moves), but does notremove any tiles from the board. Therefore the “flask bomb” may beconsidered a type of blocker.

The target may comprise achieving a certain score by selecting tiles 110to make words, each word scoring a total score at least in part independence on each of the individual tile scores 110 a selected.

The target may alternatively be to remove one or more specific tiles,make a certain number of words, make a given number (where the number isone or more) of words having a given length or the like, use aparticular tile a given number of times (where the number is one ormore) or the like. Another example of a game objective includes cheeseicons which need to be collected in a “cheese-falls” game mode, the ideabeing to cause cheese icons to fall off the bottom of the game board byremoving lower tiles. It will of course be understood that cheese iconsare one example only of the type of icon that could be used in such agame.

The game can in some embodiments end if the player or user runs out oftime 150 b or runs out of moves 120 b before managing to reach adesignated target (not shown).

The game board 100 may have a number of game objects 110 havingdifferent characteristics 110 a aligned in rows and columns, such as a7×8 grid as shown in FIG. 1. Other grid sizes may be suitable. In suchan embodiment the game objects on the game board have three, five oreight nearest or adjacent neighbouring game object tiles. Other gameboard layouts or configurations may be provided. For example,triangular, pyramidal, hexagonal, octagonal or other layouts comprisingposition spaces or tiles within the game board 100 may be provided fordisplay.

The game board 100 may be accompanied by a region 120 indicating acurrent score 120 a and a number of moves remaining 120 b as shown inthe Figure.

There may also be provided control or optional actional items 130, 140,here shown as a shuffle control 130, and a game reset or off control 140a, music 140 b and sound or volume control 140 c.

The game board 100 may in some embodiments be accompanied by a region150 indicating a timer or countdown 150 b and a number of lives 150 aremaining to the player.

The game board 100 shows region 160 in which a word may be formed. Forexample, region 160 indicates the word S-H-O-T being selected byindividual selection of the game objects tiles 110, forming the word“shot” scoring a total of seven points. The forming of the word “shot”here involves only horizontal and vertical movement or selection viatouch input.

Game board 100 of FIG. 1 also shows an example region 170 wherein theword “Vogue” is spelled. As can be seen, to create this word scoring 11points, requires diagonal selection of neighbouring object tiles 100, asshown by arrow 180 indicated in the Figure.

When a word (e.g. “Shot”, “Vogue” etc) is spelled, then the letter tilesforming those words are automatically removed from the screen and lettertiles above the removed letters drop down. New letter tiles are providedto the screen from above to replenish the gaps now left by the tileswhich have dropped down. New tiles are added to the game board in amanner that ensures that there are letter combinations on the game boardthat allow one or more words to be spelled by a user, in someembodiments.

A schematic view of a user or computing device 200 according to anembodiment is shown in FIG. 2. All of the blocks shown are implementedby suitable circuitry. The blocks may be implemented in hardware and/orsoftware. The user device may have a control part 210. The control part210 has one or more processors 215 and one or more memories 220. Thecontrol part 210 is also shown as having a graphics controller 225 and asound controller 230. It should be appreciated that one or other or bothof the graphics controller 225 and sound controller 230 may be providedby the one or more processors 215.

The graphics controller 225 is configured to provide a video output 235.The sound controller 230 is configured to provide an audio output 240.The controller 210 has an interface 245 allowing the device to be ableto communicate with a network such as the Internet or othercommunication infrastructure.

The video output 235 is provided to a display 255. The audio output 240is provided to an audio device 260 such as a speaker and/or earphone(s).

The device 200 has an input device 265. The input device 265 can takeany suitable format and can be one or more of a keyboard, mouse, touchscreen, joystick or game controller. It should be appreciated that thedisplay 255 may in some embodiments also provide the input device 265 byway of an integrated touch screen for example.

The blocks of the controller 210 are configured to communicate with eachother via an interconnect such as a bus or any other suitableinterconnect and/or by point to point communication.

It should be appreciated that in some embodiments, the controller 210may be implemented by one or more integrated circuits, at least in part.

The user device 200 is shown by way of example only. In alternativeembodiments, one or more of the parts may be omitted. Alternatively oradditionally, some embodiments may comprise one or more other parts.Alternatively or additionally, one or more parts may be combined.

FIG. 3 schematically shows a system 300 in some embodiments. The system300 comprises a server 320 which may store databases of game players'details, profiles, high scores and so on. In practice, one or moredatabases may be provided. Where more than one server is provided, thedatabase(s) may be provided in one database or across two or moreservers 320. The server 320 may also have a games data function. Thismay comprise a memory to store the computer game program and a processorto run the games program.

The server may communicate via for instance the internet 310 to one ormore user devices 305 and may further provide connections to a socialnetwork 330 such as Facebook™.

It should be appreciated that embodiments may be deployed in differentsystem architectures. For example, the computer game may be implementedas a computer game that is stored in the memory 220 of the user device200 and is run on the processor 215 of the user device 200. However, theserver 320 may handle some elements of the game in some embodiments. Byway of example only, a Java game applet may be provided to the userdevice 200 and the locally running Java applet will generate, forexample, the graphics, sounds, and user interaction for the game play onthe user device 200. Some data may be fed back to the server 320 toallow interaction with other user devices 305. The data which is fedback may also allow scoring and/or cross platform synchronization.

In some embodiments, the game may be implemented as a computer programthat is stored in a memory of the system, for example the server 320,and which runs on a processor of the game server. Data streams orupdates are supplied to the user device 200 to allow the user device 200to render and display graphics and sounds in a browser of the userdevice 200. Such an approach is sometimes referred to as a web servicesapproach. It should be appreciated, however, that such an approach doesnot necessarily require the use of the Internet.

Some embodiments utilise a dictionary or lists of words containing“valid” words. The dictionary is stored in a memory. In an embodiment, adictionary comprises a store or list of all valid words that will beaccepted during gameplay. When a user spells a word (or attempts tospell a word) on the game board during a game, then the spelled word iscompared with the list of valid words contained in the dictionary. If aspelled word is deemed to be valid, then the tiles associated with thatword can be removed from the game board and a score can be assigned tothe user related to the scores assigned to those particular tiles (plusany bonus points that may be assigned). If it is determined that theword is not a valid word, then no score is assigned to the user and thetiles remain in place. An alert may be provided to the user to indicatethat the selected word is invalid. When a game board is initiated orupdated during play, then a cross-check with the dictionary may be madeto ensure that at least one valid word from the dictionary is comprisedin the game board.

Reference is made to FIG. 4 which shows a user device in the form of amobile device 400. A game board 100 is shown on display 455 of themobile device 400. A selector in the form of a user's finger is shown at460. The term “selector” can apply to any suitable input such as auser's finger or thumb, stylus etc. It will be appreciated that due tothe relatively compact dimensions of the display 455 of the mobiledevice 400, a portion of the game board 100 is obscured by the user'sfinger 460 during gameplay. This can make it difficult for a user toform words (especially when forming a word in a downward direction onthe display 455), since at least a portion of the letter tiles on thegame board 100 are obscured from the user's view.

Although a user's finger has been described with respect to FIG. 4, itwill be appreciated that embodiments are applicable to the use of anykind of selector for controlling or touching the display 455. Forexample the selector could also be a stylus or any implement suitablefor controlling the display. Although a user may typically use theirindex finger for controlling the screen, a user may also use any otherfinger or their thumb. Therefore where reference is made to a user'sfinger or fingertip it will be appreciated that this could equally applyto any other kind of selector.

FIG. 5 shows an embodiment where an enlarged or magnified region orwindow 462 is provided. In embodiments the magnified region 462 isdisplayed in the manner of a magnifying glass e.g. a circular orovalised magnified region. Throughout the application terms such as“magnified region”, “magnified area”, “enlarged region”, “enlargedarea”, “magnifying glass” etc. can be used interchangeably. Inembodiments the magnified region 462 magnifies an area of the game board100 that is in proximity to a tip of a user's finger, or any other typeof selector. For clarity the user's finger is not shown in FIG. 5, butit will be appreciated that in this example a tip of the user's finger(or another part of the user's finger which is touching or proximate tothe display 455) is in a location or region of letter tile 464 i.e. theletter tile “M” surrounded by the letter tiles L, S, X, E, E, V, L, I.In embodiments the game objects shown in the magnified region are a copyof the game objects from which the content of the magnified regionoriginates (e.g. the area of the game board in proximity to the user'sfinger). That is the game objects to be magnified remain in theiroriginal location on the game board (albeit obscured or partiallyobscured by the user's finger), whilst also then being displayed in themagnified region. In this embodiment, the tile closest to the user'sfingertip is positioned in a central location of the magnified region462. As the user's fingertip moves across the game board 100 then thecontent displayed in the magnified region can be correspondinglyupdated. During movement of the magnified region, the “current” tileclosest to the user's fingertip is displayed as the tile centrallylocated in the magnified region 462.

To this end a position of a user's finger relative to the display 455and game board 100 may be detected. This may be by detecting touch ofthe user's finger on the display 455, or detecting proximity of theuser's finger to the display 455. This detection can be carried out inany known way, according to particular embodiments. The detection methodmay be different depending on the type of device. For example thedetection method may differ dependent on whether the device employs aresistive touch screen or a capacitive touchscreen (or indeed any othertype of touchscreen). For example in FIG. 5 it is determined that auser's finger is touching letter tile 464, or is hovering closely aboveit. Display of the magnified region 462 may be initiated in response todetermining contact or proximity of a selector 460 to the game board. Inthis embodiment the magnified or enlarged area 462 is configured todisplay the letter tiles which are above, below and to the left andright of the selected letter tile. This is by way of example only andthe magnified region 462 may be reduced or increased in size. Forexample the magnified region 462 may be increased in size so as to alsofully display the letter tiles positioned diagonally relative to theselected letter tile 464.

In FIG. 5 the magnified region 462 is circular in shape. It will beappreciated however that the magnified region 462 can be of any shape,including square, rectangular, diamond shaped etc.

The game board may also comprises arrows or pointers e.g. pointer 466which shows a user the direction of the letter tiles selected in theword that they are forming.

The magnified region 462 is configured to be located on the display sothat the magnified region is not itself obscured by the user's finger.In other words the magnified region 462 is positioned at a location thatis spaced from the location selected by the user's finger (in this casetile 464). In some embodiments a determination may also be made as tothe size of the user's finger. For example it may be determined whethera user has a particularly thin finger or a particularly large finger,and the magnified region can be sized and/or located accordingly.

In embodiments the content displayed within the magnified region 462 isupdated as the user's finger moves across the game board 100. Inembodiments this occurs in real-time. Therefore the content of themagnified region 462 can be seen to update as the user's finger moves.For example, if the user's finger is moved so as to select a letter tile468 (where tile 464 was the previously selected tile), then the contentof the magnified region will update accordingly. That is the letter “L”in tile 468 will become the selected letter and the letter within thecentre of the magnified region 462. If the user's finger is moved so asto select a letter tile 469 (where another tile was the previouslyselected tile), then the content of the magnified region will updateaccordingly. That is the letter “P” in tile 469 will become the selectedletter and the letter within the centre of the magnified region 462 willbe a “P”. In some embodiments, a portion of the magnified region 462 isleft blank. This may be the case for example when the selected tile isat the edge of the game board. For example there are no tiles to theleft or above tile 469. Therefore tile 469 may be located centrally inmagnified region 462, with blank spaces to the left and right thereof.In other embodiments, the selected tile may be offset from the centre ofthe magnified region 462. This may reduce or eliminate blank areas.

In embodiments the content of the magnified region updates in a fluidmanner as the user's finger moves over the game board. That is asmentioned above, in embodiments the content of the magnified region mayupdate in real-time, and doesn't “snap” from the originally selectedtile to the finally selected tile. As mentioned above, in at least someembodiments the location at which the tip of the selector is positionedon the game board is represented at a central location in the magnifiedregion 462. In some embodiments a determination is made as to which tileis closest to the tip of the selector, and that tile is chosen to becentrally located in the magnified region 462. This may be utilised forexample when a user's finger is between tiles.

In embodiments the magnified region is configured to move away from auser's finger as the user's finger moves on the game board, if required.This may happen when it is determined that the magnified region 462needs to move because otherwise the magnified region will becomepartially or fully obscured by the user's finger. In other words themagnified region “avoids” a user's finger.

To determine where the user's finger is, and how the magnified region462 is to be updated (the content of the magnified region and/or itsposition on the game board), interpolation techniques may be used. Forexample a prediction algorithm may predict in which direction a user islikely to move their finger. This may be based upon informationincluding a direction that the user's finger is currently moving. It mayalso use information such as letter information of tiles that havealready been selected, in which case it may predict which word the useris attempting to spell. This minimises delays between the user movingtheir finger on the game board 100, and the content of the magnifiedregion 462 being updated and/or of the magnified region 462 beingrelocated relative to the user's finger and game board. This provides afluid feel to the way in which the magnified region is updated and/ormoved. That is an interpolation technique may be used to calculate anupdated position for the magnified region 462. An interpolationtechnique may be used to determine an updated content of the magnifiedregion 462. An algorithm used for displaying movement of the magnifiedregion on the screen may operate as follows:

determine a target position for the magnified region. The targetposition is the position towards which the magnified region moves inorder to avoid the player's finger.

move the magnified region from its current position towards the targetin a smooth manner. This may use an interpolation technique.

These steps may be executed on each frame.

The magnified region may follow a linear path when moving. Alternativelythe magnified region may follow a non-linear path when moving. Themovement of the magnified region may also comprise a mixture of linearand non-linear components. The path followed by the magnified region maybe dependent upon a detected input of the user's finger. A speed ofmovement of the magnified region may be dependent upon a detected inputof the user's finger.

Determining a movement of the user's finger may comprise receivingand/or using information of movement of the user's finger comprising oneor more of: directional information; speed information; positionalinformation; whether the movement is linear or non-linear etc.

For example if the user moves their finger quickly the magnified regionmay also move quickly. If the user moves their finger slowly then themagnified region may also move slowly. The path followed by themagnified region may depend on directional information of the user'sfinger. For example such directional information may include informationsuch as whether the user's finger is moving towards or away from anexisting position of the magnified region. The directional informationmay also comprise information of an angle at which the user's finger ismoving relative to an existing position of the magnified region.

The algorithm may also be configured to enable the location of thetarget position of the magnified region to be updated. In embodimentsthe target position can be updated after initial setting of a targetposition. For example the target position may initially be set to be afirst position based upon information received. This initial positioncan then be changed, for example if a user moves their finger in adirection that differs from an initially predicted direction of movementof the user's finger. The magnified region may also follow a non-linearpath if the target changes mid-flight.

In order to determine a target position of the magnified region thealgorithm may check a proximity of the user's finger to the magnifiedregion. This may be done for example by checking a distance of theuser's finger from the magnified region. In some embodiments thisdistance may be a distance between the user's finger and a centre of themagnified region. In another embodiment this distance may be a distancebetween the user's finger and an edge of the magnified region.

If the user's finger comes too close to the magnified region then themagnified region is caused to move. A threshold value may be set (forexample by a game developer) for the distance between selector andmagnified region which is considered to necessitate a repositioning ofthe magnified region.

In order to determine the target location towards which the magnifiedregion is to move, the game board may be notionally split in tosections. In one embodiment the game board is split in to four quartersof equal size: top-left, top-right, bottom-left, bottom-right. This isby way of example only and in other embodiments the game board can besplit in to a different number of sections.

The target location can be set to be comprised in a section furthestand/or opposite a section comprising the user's finger. In a fourquarter embodiment the “furthest” quarter may be considered to be thatwhich is diagonally opposed to the one where the player's finger is. Soif for example the player moves their finger into the top-left quarter,the target position is set into the bottom-right quarter and so on.

The magnified region can then start to move toward the new targetposition.

In at least one embodiment a non-linear interpolation formula is usedfor the movement of the magnified region. In some embodiments themovement of the magnified region is configured such that the magnifiedregion will initially start moving slowly, accelerate to its top speedand then start decelerating when approaching the final (target)position. This technique may take into account the time passed duringthe frame update sequence and a maximum speed (for example in pixels persecond) allowed for the magnified region. This maximum speed may also bedetermined by a game developer. Therefore in some embodiments themagnified region may move at a variable speed.

In some embodiments and in order to avoid distracting the user, themagnified region, once located in its target location, does not move ifthe user's finger passes from one quarter to another.

In some embodiments this holds true unless the user's finger comes inclose proximity to the magnified region. A threshold distance may be setfor this proximity. It will be understood that although the location ofthe magnified region may not move in this scenario, its content willstill update as necessary.

This algorithm may be adapted to various board shapes and sizes bychanging the number and layout of the zones to obtain the best effect.

The movement of the magnified region may therefore appear as natural andpleasant as possible for the user, thus enhancing gameplay.

FIGS. 6A to 6D describe in more detail a game board sectioning techniqueas discussed above.

FIG. 6A schematically shows a game board 600 which has been sectioned into four quarters. In FIG. 6A the four quarters are shown as segregatedby dotted lines. It will be understood that this is to aid visualisationand understanding of this feature, and that in embodiments the dottedlines are not actually displayed. That is the sectioning is notional.The quarters comprise a top-left quarter 601, a top-right quarter 603, abottom-left quarter 605, and a bottom-right quarter 607. In thisembodiment the sections 601, 603, 605 and 607 are equal in size. Inother embodiments the sections may be different in size. This may be thecase where the game board 600 is asymmetric, for example.

In FIG. 6B a tip of a selector is shown at 660, in top-left quarter 601.A magnified region 662 is therefore caused to be moved (if necessary),or its initial position is set to be, in a quarter or section other thanthe section that the tip of the selector is currently in. In thisembodiment the magnified region 662 is caused to be located inbottom-right section 607. That is the magnified region 662 is caused tobe in a section that is furthest from the section in which the selector660 is located.

In FIG. 6B the magnified region 662 is shown to be located approximatelycentrally in section 607. In other embodiments the magnified region 662can be caused to be located at any other point in the section 607, forexample at one of its corners and/or edges.

In FIG. 6C the selector is moving from section 601 to section 605. Insome embodiments this may cause the magnified region to move to thesection furthest from section 605. In this case that would be top-rightsection 603. However, and as shown in this embodiment, the magnifiedregion 662 remains in place in section 607. This is so as not todistract the user by excessive movement of the magnified region 662. Insome embodiments the magnified region is “locked” in place whilstlocated in any given section, such that minor movements of the selectordo not cause corresponding minor movements of the magnified region 662.A threshold value may be set for a distance of movement of the selector660 that is required before the magnified region 662 is caused to move.

As shown in FIG. 6D the selector 660 then moves from section 605 tosection 607. The magnified region 662 has accordingly moved to section601, so as to be in a different section from the selector.

Determination of a target position for the magnified region may take into account whether a user is right or left-handed. In some embodiments auser can provide information as to whether they are right orleft-handed. This may be done for example via a game options screen. Forexample referring back to FIG. 6B the selector 660 is shown to be intop-left quarter 601, and the magnified region 662 is caused to be inbottom-right quarter 607. However if the user is right handed, at leastsome of quarter 607 may be obscured by the user's hand. Therefore it maybe determined that it is in fact preferable for the magnified region 662to be positioned in another section, for example section 603 or section605.

The game board can of course be sectioned differently. For example thegame board can be sectioned in half, in thirds etc. This sectioning canoperate in both portrait and landscape orientations of the game board.

The movement of the magnified region 662 can be linear or non-linear.

For example as shown in FIG. 7A the magnified region 662 can move in alinear fashion from a first position A to a second position B. Thislinear movement can be any one of or a combination of horizontal,vertical, or diagonal with respect to the game board.

As shown in FIG. 7B the magnified region 662 can also move in anon-linear fashion. The non-linear movement can trace any shape. In theexample of FIG. 7B the non-linear movement is a curved movement. Aradius of curvature r of the curve may take any value. The radius ofcurvature r may be dependent upon the movement of the selector. Forexample the radius of curvature r may take any value that is necessaryfor the magnified region 662 to avoid the selector.

That is a path followed by the magnified region when moving may bedependent upon a parameter of a corresponding movement of the selector.The parameter of the corresponding movement of the selector may be, byway of example only, any one or more of: speed of movement; direction ofmovement; acceleration of movement; distance of movement etc.

Embodiments may be realised using a render to texture technique. Forexample the user interface, including the game board 100, may betextured as a series of layers, enabling an upper layer (e.g. themagnified region 462) to move across and/or overlie the lower layer(e.g. game board 100). This may be implemented as a “floating mesh” ontop of the scene (e.g. game board). A floating mesh can be considered agraphical element that is not tied to any other element on the display(thus “floating”) and can be moved around freely. The floating mesh is amesh in the sense that its structure is like a mesh of verticesconnected together by edges (which may form a seamless block ofpolygons, which may be in the shape of a disc). On top of this mesh atexture is applied, for example the texture inside which the magnifiedregion has been rendered. By way of analogy, and as will be explained inmore detail below, the texture can be considered like a canvas and themesh like a frame on to which the canvas is stretched.

In some embodiments, a program such as OpenGL can be used for therendering of images, for example the image of the magnified region. Itwill be understood that this is by way of example, and that otherprograms can be used. The open GL API may use the following whenrendering an image:

-   -   A frame buffer in which to draw the rasterized primitives (a        primitive is a geometrical construction made from vertices        connected by edges, which may or may not form polygons)    -   An array of primitives to process    -   A projection transformation (this is the OpenGL way of        expressing the relationship between the camera, the primitives        and the rendering surface).

To render an image at least some of the following steps may be taken.First, some primitives may be created (defined mathematically as a setof vertices, and/or edges, and/or polygons). These primitives may usetextures, which are wrapped over the skeleton of the geometry defined bythe vertices and edges. By way of analogy a texture is like a canvaswrapped over a frame, where the geometry is the frame. The framebuffercan then be defined (the buffer that will contain the rendered image).Then a projection transformation can be defined (which can be computedfrom camera, framebuffer and world parameters). Reference here to a“camera” is to a virtual “camera” within the game. This virtual cameracan determine the point of view of the player against the game board.This virtual camera may be defined by three things: a render buffer, aview transformation (camera position and orientation) in the world, anda projection transformation (this is equivalent to the characteristicsof a real camera's lens—field of view, magnification factor, distortionetc.). These transformations can be represented in memory as 4×4floating point matrices. Various OpenGL pipeline parameters can then beset. Then a command can be issued to OpenGL to process the array ofprimitives and render them into the framebuffer. The OpenGL API cantransform, project and rasterize (turn into pixels) the primitives givento it by applying various algorithms which may be mainly implementedinside the graphics hardware.

After these operations, the framebuffer contains a 2D image. This can bepresented on the screen (like the primary game graphic output is), orkept in the back-end and used as a texture for another primitive. Thuspictures within pictures can be created.

OpenGL can use any number of framebuffers provided by the programmer, sodifferent objects or things can be rendered into different images, whichmay or may not be (directly or indirectly) presented to the user on thescreen.

In a normal game situation, a framebuffer may exist that is the samesize or approximately the same size as the screen, and all renderinggoes into this framebuffer, which is then presented on the screen, frameafter frame. Therefore a complete image may be in the back-end and thenpresented on the screen all at once.

As mentioned above, other programs using the same or similar techniquesmay also be used.

To obtain the effect of the magnified region (or indeed any way ofproviding an enlarged or magnified image) in the game therender-to-texture technique described above may be used.

In more detail, according to this technique a primitive is defined inthe desired shape, to act as the skeleton for the magnified region (thiswill be the frame onto which the texture is applied). This may bereferred to as the “magnified region mesh”.

The area of the game board that is to be magnified is determined and theprojection transformation is altered in such a way as to obtain thefollowing effects:

the rendered image will be centred on that area

the rendered image will be larger than usual. The rendered image mayalso be of a higher resolution. This may be considered equivalent to“zooming-in” on the desired region.

The framebuffer may then be swapped with a second framebuffer which willhold the magnified image.

The game board can then be rendered with these settings. An enhancedimage of the game board can then be obtained in the framebuffer (secondframebuffer referred to above).

The old framebuffer can then be put back in place and the old projectionsettings can be restored.

The magnified region mesh can be positioned within the game scene, andthe second framebuffer which was updated previously can be set as atexture on this mesh.

The entire game scene can then be rendered, obtaining in the primaryframebuffer an image of the scene with the magnified region on top,displaying a small enhanced portion of the game board at a greaterscale. This final image is then presented to the screen.

It will be understood that the methods described above can equally beapplied to initial positioning of the magnified region 462 with respectto the game board 100, as well as movement of the magnified region froma first position to a second position.

FIG. 8 shows a flowchart of a method according to at least oneembodiment.

As a pre-cursor to FIG. 8, a game board may be generated and displayedon a display, for example in a manner similar or the same as in FIG. 1.

At step S1, contact or proximity of a selector at a first location ofsaid display is determined.

At step S2, and in response to the determining of step S1, one or moregame objects stored in the memory that are displayed on and/or proximateto said first location are determined.

At step S3, one or more of said game objects that are displayed onand/or proximate to said first location are caused to be displayed onsaid display in a magnified region at a second location. The secondlocation is spaced from the first location.

As discussed above, a user may have a finite number of moves availablewithin a game. As shown for example in FIG. 1, at 120 b a user is shownto have 10 moves remaining. When a user runs out of moves then the gameis over. In some embodiments, the user can send or transfer “moves” toanother user. For example this may take place in an online environmentwhere users can connect with each other. For example, a first player(P1) may have run out of moves (i.e. has zero moves left). A secondplayer (P2) may have, for example, 15 moves left. P2 may choose to giveP1 5 moves, meaning that P1 will now have 5 moves and P2 will have 10moves remaining. In some embodiments the number of moves that a playercan transfer to another player is only limited by the number of movesthat the giving player has. In other embodiments the number of movesthat can be transferred is limited. For example the game may limit thenumber of transferable moves to three. It will of course be appreciatedthat these numbers are by way of example only, and the number oftransferable moves may be more than or fewer than 3. It will also beappreciated that moves can be transferred to a player who still has somemoves remaining—that is a player does not have to have run out of movesbefore they can receive new moves.

FIG. 9 shows an example game board 700. As shown at 720 b the user has14 moves left. As shown at 770 a “pop-up” 770 has appeared that states“Adrian gave you +3 moves to help you”. A photo of the other player(Adrian) is also provided at 772. It will of course be appreciated thatany image can be provided at 772, which may be uploaded by the user. Ifthe user has not uploaded their own image then a default image may beprovided. The pop-up 770 may simply appear on screen, or it may move onto the screen in another way. For example the “pop-up” may slide on tothe screen from one of the sides or top or bottom of the screen. Thepop-up 770 may also animate in some manner into the region 720 b to givethe effect of the “moves” being transferred to the “moves left” section720 b. The “moves left” section 720 b may also animate in some way toshow the number of moves increasing e.g. the number may spin or expandand contract, or animate in any other way to draw the user's attentionto this area of the screen and to help inform the user that their numberof moves has increased.

The pop-up 770 may appear when the level is first loaded up, especiallyif the other player (e.g. Adrian) transferred the moves at a time whenthe current player was offline or not playing the game. The pop-up 770could also appear mid-game, for example if the other player transferredmoves at that time. FIG. 10 shows a game screen when a level has beencompleted. A new pop-up 774 is shown which states “MARVELOUS LevelComplete”.

Following this, a further game screen such as that shown in FIG. 11 ispresented to the user. In this Figure a pop-up 776 is shown whichreminds the user that another player (Adrian) helped the current usercomplete the level by providing 3 lives. The pop-up 776 also comprisesthe image icon 772 which is an image of the other player in question(Adrian), and a text portion 777 stating “Adrian helped you completethis level Be a sport and return the favor!”. There is also a selectableicon 778 which enables a user to send moves back to Adrian. In thisexample the icon 778 states “Send +3 Moves”. In some embodiments theicon 778 is configured to prompt the current user to send to the otheruser the same number of lives that were received by the current userfrom the other user.

A further screen, as shown for example in FIG. 12, allows a user to alsosend lives to other users that the current user is in contact with. Forexample the current user can select one or more contacts from the listregion which shows “Top Friends”, and send lives to those users byclicking the “Send lives” icon 782. The screen shown in FIG. 12 may beprovided in addition to or alternatively to the screen shown in FIG. 11.In some embodiments the current user is also able to send lives to andreceive lives from users that they are not already in contact with. Thismay help a user to increase their number of contacts and make the gamemore socially enjoyable for the user. Furthermore, game play and gameenjoyment may be enhanced since a user may be able to get further intoor complete the game with assistance from the received lives.

FIG. 13 is a flowchart according to some embodiments. At step S1 a firstplayer (P1) receives moves from a second player (P2).

The first player then continues to play the game until they complete thelevel at step S2.

At step S3 the first player is provided with an opportunity to give oneor more lives back to the second player. In an optional step S4 thefirst player is given an opportunity to also send lives to otherplayers.

Aspects of a “cheese falls” game is explained in more detail withrespect to FIGS. 14 and 15.

FIG. 14 shows a game board 100 comprising in a top row of the game boardfour cheese icons or tiles 182, 183, 184 and 185. Other numbers ofcheese icons may be provided. It will also be appreciated that a cheeseicon is just one example of such an icon that could be used in a “falls”game. An aim is to get the cheese icons to the bottom row by removingletters below the cheese icons by spelling words in the manner describedpreviously. In the game board shown in FIG. 14 one cheese icon 186 hasjust reached the bottom row of the game board. When this occurs ascoreboard region 188 is updated to show the current score. In this gamethe aim is to get five cheese icons to the bottom of the game board 100,and the user has thus far achieved a score of 1 out of 5. When a cheeseicon reaches the bottom of the game board 100, the cheese icon isanimated to show it “flying” up to the scoreboard 188, as represented byarrow 190. This helps the user to understand the link between the cheeseicon reaching the bottom of the game board 100 and the score beingupdated.

It will be appreciated that it is possible for more than one cheese iconto drop to the bottom row simultaneously, for example if a plurality ofbottom row tiles below a plurality of cheese icons are removed from thegame board at the same time. In embodiments, when this occurs, thecheese chunks which have simultaneously fallen to the bottom row of thegame board move sequentially towards the scoreboard 188. That is a firstcheese chunk flies up to the scoreboard, and then a delay is set betweeneach subsequent cheese chunk that flies up to the scoreboard. Thisenables the user to easily see how their score is being incremented, andthus enhances gameplay. It also improves the look and feel of the game,compared to the cheese chunks all flying up to the scoreboard regiontogether. The delay between a first cheese chunk and a second cheesechunk moving towards the scoreboard 188 can be any length of time,however it is preferably a relatively short amount of time (e.g. lessthan 0.5 s, and preferably less than 0.25 s).

To enable this aspect of the game, a timer or counter may be provided.When a first cheese chunk is launched towards the scoreboard area 188,then the timer is started. A threshold value is set for the timer, andwhen the next cheese chunk is due to be launched a check is made withrespect to the timer. If a time elapsed since the first cheese chunk waslaunched is less than the threshold, then the second cheese chunk is notlaunched until after this threshold value has elapsed. If the thresholdhas already elapsed when the second cheese chunk is due to be launched,then that chunk can be launched. The counter is reset each time a newcheese chunk is launched. As set forth above this has the effect ofadding a delay between successive cheese launches. This not only makesthe gameplay more readily understood by a user, it also simplifies howsome of the processing is implemented. Launching the cheese icons in asequential manner and updating the scoreboard in an incremental mannercan in some embodiments ease the processing requirement on the computinghardware compared to when the process is implemented simultaneously.This may reduce the likelihood of the game “crashing”.

FIG. 15 is a flowchart according to some embodiments.

At step S1 a cheese falls game is initiated. The game proceeds and atstep S2 a cheese chunk reaches the bottom row of the game board. At stepS3 the cheese chunks begins to “fly” towards the scoreboard region, anda timer is started. At step S4 a second cheese chunk reaches the bottomof the scoreboard. At step S5 a determination is made as to whether thetimer has reached a threshold time. If the timer has reached or exceededthe threshold time then at step S6 the second cheese chunk moves towardsthe scoreboard and the scoreboard is incremented.

If at step S5 it is determined that the threshold time has not beenreached, then at step S7 the cheese chunk in question is held or delayeduntil the threshold has elapsed.

If two or more cheese chunks reach the bottom simultaneously, then thealgorithm may be configured to simply select one of the cheese chunks tobe the first to be launched, one of the cheese chunks to be the secondto be launched etc. For example where there is a row of cheese chunks,the left-most cheese chunk may be assigned to be the first cheese chunk,the second left-most cheese chunk on the game board may be assigned thesecond cheese chunk etc. Other formations may also be configured e.g.starting with the right-most cheese chunk, or starting with the middlecheese chunk in which case the cheese chunks may fly to the scoreboardregion in a spearhead formation.

Reference is made to FIG. 16 which schematically shows the functionalblocks of an embodiment, which may enable the game play described above.A user input block 1400 is shown. This captures the user input and feedsthe input to a game engine 1402. In the context of the Alphabetty gameof some embodiments, this user input may be which tiles are selected bya user and in which direction. This user input can be via any suitableuser interface, such as discussed earlier.

The game engine 1402 will process the information provided by the userinput. The game engine 1402 (for example a game model) will determine ifa valid combination has been made.

Each object (e.g. letter tile) has object data associated therewith. Theobject data 1404 may be stored in any suitable memory location. In someembodiments, the object data may be considered to be part of the gameengine and in other embodiments may be considered to be outside the gameengine. The object data may provide information as to the properties ofan object. These properties can include attribute information such ascolor and/or whether or not an object has a particular function such asa so-called booster function. The object data may include the positiondata; that is information representing the position of the object in thedisplayed image.

In some embodiments, the game engine will check if the game objectsatisfies the rule or rules for a valid match. The rule or rules whichdefine whether or not a valid match has been made will be dependent onthe game. In some embodiments, objects which have been selected willmake a match if together they spell a valid word. In some embodiments,the game objects which match are removed.

Thus, the game engine will be in control of the matching mechanism. Thegame engine will have access to data for each tile including itsposition and which letter of the alphabet that tile represents, and willbe able to determine if a match is made with a valid word. If a match ismade, the tiles in the match are removed.

A physics engine 1408 is provided which is configured to control themovement of the falling objects. This will be an object which has beencaused to move or be removed as a result of a previous match. Thephysics engine will generally manage the movement of an object based onfor example gravity which controls the falling of the object, collisiondetection, when the falling object hits another object and optionallyrotation calculations when the falling object rolls, for example, downthe side of the other objects.

The movement of the object is thus controlled by the physics engine,which will control the movement of an object as it falls, rolls downother objects etc.

A position control block 1410 is provided. In the embodiment shown, thisposition control block may be part of the game engine. In otherembodiments, this position control block may be outside the game engine.The position control block may be provided by a position algorithm insome embodiments.

A view function 1406 uses the object data to provide the displayed imagewith which the user is able to view and/or interact.

Although embodiments have primarily been discussed in relation to anAlphabetty game, it will be appreciated that the principles may beapplied to other games. For example magnifying a region of a display inresponse to detection of contact or proximity of a selector in themanner described above may be applied to any game where visibility ofselectable game objects is required. For example this may be in thecontext of any other kind of matching game.

In some embodiments the magnification function is provided as an optionwhich can be selectively turned on and off by a user, for example bygoing through a settings screen.

Various embodiments of methods and devices have been described in theforegoing. It should be appreciated that such may be implemented in anapparatus, where the apparatus is implemented by any suitable circuitry.Some embodiments may be implemented by at least one memory and at leastone processor. The memory may be provided by memory circuitry and theprocessor may be provided by processor circuitry. Some embodiments maybe provided by a computer program running on the at least one processor.The computer program may comprise computer implemented instructionswhich are stored in the at least one memory and which may be run on theat least one processor.

It will also be understood that where reference is made to a user'sfinger throughout the specification, this may also apply to any othersuitable selector, such as a stylus.

It is also noted herein that there are several variations andmodifications which may be made to the disclosed solution withoutdeparting from the scope of the present disclosure.

The invention claimed is:
 1. A computer-implemented method comprising:storing in a memory information of one or more game objects; causing tobe displayed on a user interface of a touchscreen display a game boardcomprising one or more of said game objects; in response to determiningcontact or proximity of a selector at a first location of saidtouchscreen display, determining by a processor one or more of said gameobjects stored in said memory that are displayed on and/or proximate tosaid first location; and causing one or more of said game objects thatare displayed on and/or proximate to said first location to be displayedon said touchscreen display in a magnified region at a second location,wherein said second location is spaced from said first location; whereinsaid method comprises determining a region of said touchscreen displayat least partially visually obscured by said selector, and displayingsaid game objects displayed in the magnified region outside of said atleast partially visually obscured region; and updating a position ofsaid magnified region on said display in response to movement of saidselector over said game board at or above a threshold distance; and saidupdating the position of said magnified region comprises movement ofsaid magnified region along a path that is curved in relation tomovement of the selector, a radius of curvature of said curved pathbeing dependent on a parameter of the movement of said selector.
 2. Amethod as set forth in claim 1, wherein said magnified region overliesor at least partially overlies said game board.
 3. A method as set forthin claim 2, wherein the method comprises texturing said user interfaceas a series of layers, the game board comprised in a first layer and themagnified region comprised in a second layer.
 4. A method as set forthin claim 1, wherein said first location of said game board isrepresented at a central position of said magnified region.
 5. A methodas set forth in claim 1, comprising determining said second location independence on said first location.
 6. A method as set forth in claim 1,wherein the game board comprises a plurality of sections.
 7. A method asset forth in claim 6, wherein the second location is caused to be in asecond section different from a first section comprising the firstlocation.
 8. A method as set forth in claim 1, comprising updating acontent of said game objects displayed in said magnified region inresponse to movement of said selector over said game board.
 9. Acomputer program product embodied on a non-transitory computer-readablemedium comprising computer executable instructions which when run on oneor more processors perform: storing in a memory information of one ormore game objects; causing to be displayed on a user interface of atouchscreen display a game board comprising one or more of said gameobjects; in response to determining contact or proximity of a selectorat a first location of said touchscreen display, determining by aprocessor one or more of said game objects stored in said memory thatare displayed on and/or proximate to said first location; and causingone or more of said game objects that are displayed on and/or proximateto said first location to be displayed on said touchscreen display in amagnified region at a second location, wherein said second location isspaced from said first location; wherein said method comprisesdetermining a region of said touchscreen display at least partiallyvisually obscured by said selector, and displaying said game objectsdisplayed in the magnified region outside of said at least partiallyvisually obscured region; and updating a position of said magnifiedregion on said touchscreen display in response to movement of saidselector over said game board at or above a threshold distance; and saidupdating the position of said magnified region comprises movement ofsaid magnified region along a path that is curved in relation tomovement of the selector, a radius of curvature of said curved pathbeing dependent on a parameter of the movement of said selector.
 10. Amethod as set forth in claim 1, wherein the method comprises determiningwhether a user is left or right-handed, and determining a targetposition for the magnified region on the game board in response to thedetermination of whether the user is left or right-handed.
 11. A methodas set forth in claim 1, further comprising determining, via aprocessor, locations of a plurality of sections within the game board.12. A device comprising: a memory for storing information of one or moregame objects; a touchscreen display for displaying on a user interface agame board comprising one or more of said game objects; a processor; thedevice configured to, in response to determining contact or proximity ofa selector at a first location of said touchscreen display, determine bythe processor one or more of said game objects stored in said memorythat are displayed on and/or proximate to said first location; and causeone or more of said game objects that are displayed on and/or proximateto said first location to be displayed on said touchscreen display in amagnified region at a second location, wherein said second location isspaced from said first location; wherein said device is configured todetermine a region of said display at least partially visually obscuredby said selector, and display said game objects displayed in themagnified region outside of said at least partially obscured region; andupdate a position of said magnified region on said touchscreen displayin response to movement of said selector over said game board at orabove a threshold distance; and wherein said device is configured toupdate the position of said magnified region comprising moving saidmagnified region along a path that is curved in relation to movement ofthe selector, a radius of curvature of said curved path being dependenton a parameter of the movement of said selector.
 13. A device as setforth in claim 12, wherein said device is configured to cause saidmagnified region to overlie or at least partially overlie said gameboard.
 14. A device as set forth in claim 13, wherein the device isconfigured to texture said user interface as a series of layers, thegame board comprised in a first layer and the magnified region comprisedin a second layer.
 15. A device as set forth in claim 12, wherein saiddevice is configured to represent said first location of said game boardat a central position of said magnified region.
 16. A device as setforth in claim 12, wherein the device is configured to determine saidsecond location in dependence on said first location.
 17. A device asset forth in claim 12, wherein the device is configured to consider thegame board as comprising a plurality of sections.
 18. A device as setforth in claim 17, wherein the device is configured to cause the secondlocation to be in a section different from a section comprising thefirst location.
 19. A device as set forth in claim 12, the deviceconfigured to update a content of said game objects displayed in saidmagnified region in response to the movement of said selector over saidgame board.